//
// IManager.cs
//
// Copyright (C) 2008 Lukas Lipka <lukaslipka@gmail.com>
//

using System;
using System.Reflection;
using System.Collections;

using NDesk.DBus;

namespace NetworkManager {

	[Interface ("org.freedesktop.NetworkManager")]
	internal interface IManager {
		ObjectPath[] GetDevices ();
		NetworkConnection[] GetActiveConnections ();
		void ActivateDevice (ObjectPath device, string service_name, ObjectPath conn, ObjectPath so);
		void Sleep (bool sleep);

		bool WirelessEnabled { get; }
		bool WirelessHardwareEnabled { get; set; }
		State State { get; set; }

		// FIXME: Finish signals

		//<signal name="StateChange">
		//<arg name="state" type="u"/>
		//</signal>
			
		//<signal name="PropertiesChanged">
		//<arg name="properties" type="a{sv}"/>
		//</signal>
			
		//<signal name="DeviceAdded">
		//<arg name="state" type="o"/>
		//</signal>
			
		//<signal name="DeviceRemoved">
		//<arg name="state" type="o"/>
		//</signal>
	}
}